using System.Collections.Generic;

namespace Sinacor.Servico.Bovespa.Contabil.Service.ServiceImplementation.Translator.DataContractToBusinessEntity
{
	public class TipoDespesa {

		public TipoDespesa(){}

		public BusinessEntity.Parameter.FiltroTipoDespesa ToFiltroTipoDespesa(DataContract.Request.FiltroTipoDespesaRequest request)
        {
            BusinessEntity.Parameter.FiltroTipoDespesa  to = new Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesa();
            to.Codigo = request.Codigo;
            to.Descricao=request.Descricao;
			return to;
		}

		public List<BusinessEntity.Parameter.FiltroTipoDespesa> ToFiltroTipoDespesa(List<DataContract.Request.FiltroTipoDespesaRequest> requestList)
        {
            List<BusinessEntity.Parameter.FiltroTipoDespesa> to = new List<Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesa>();
            
            foreach(DataContract.Request.FiltroTipoDespesaRequest item in requestList)
            {
                to.Add(ToFiltroTipoDespesa(item));
            }
			return to;
		}

		public BusinessEntity.Parameter.FiltroTipoDespesaChave ToFiltroTipoDespesaChave(DataContract.Request.FiltroTipoDespesaChaveRequest request)
        {
            BusinessEntity.Parameter.FiltroTipoDespesaChave  to = new Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesaChave();
            to.Codigo = request.Codigo;
			return to;
		}

		public List<BusinessEntity.Parameter.FiltroTipoDespesaChave> ToFiltroTipoDespesaChave(List<DataContract.Request.FiltroTipoDespesaChaveRequest> requestList)
        {
            List<BusinessEntity.Parameter.FiltroTipoDespesaChave> to = new List<Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesaChave>();
            
            foreach(DataContract.Request.FiltroTipoDespesaChaveRequest item in requestList)
            {
                to.Add(ToFiltroTipoDespesaChave(item));
            }
			return to;
		}

		public BusinessEntity.Parameter.FiltroTipoDespesaPeriodo ToFiltroTipoDespesaPeriodo(DataContract.Request.FiltroTipoDespesaPeriodoRequest request)
        {
            BusinessEntity.Parameter.FiltroTipoDespesaPeriodo  to = new Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesaPeriodo();
            to.Codigo = request.Codigo;
            to.Descricao = request.Descricao;
            to.PregaoFinal=request.PregaoFinal;
            to.PregaoInicial=request.PregaoInicial;
			return to;
		}

		public List<BusinessEntity.Parameter.FiltroTipoDespesaPeriodo> ToFiltroTipoDespesaPeriodo(List<DataContract.Request.FiltroTipoDespesaPeriodoRequest> requestList)
        {
            List<BusinessEntity.Parameter.FiltroTipoDespesaPeriodo> to = new List<Sinacor.Servico.Bovespa.Contabil.BusinessEntity.Parameter.FiltroTipoDespesaPeriodo>();

            foreach (DataContract.Request.FiltroTipoDespesaPeriodoRequest item in requestList)
            {
                to.Add(ToFiltroTipoDespesaPeriodo(item));
            }
			return to;
		}

		public BusinessEntity.TipoDespesa ToTipoDespesa(DataContract.Request.TipoDespesaRequest request)
        {
            BusinessEntity.TipoDespesa to = new Sinacor.Servico.Bovespa.Contabil.BusinessEntity.TipoDespesa();
            to.Codigo = request.Codigo;
            to.Descricao = request.Descricao;
			return to;
		}

		public List<BusinessEntity.TipoDespesa> ToTipoDespesa(List<DataContract.Request.TipoDespesaRequest> requestList)
        {
            List<BusinessEntity.TipoDespesa> to = new List<Sinacor.Servico.Bovespa.Contabil.BusinessEntity.TipoDespesa>();
            foreach (DataContract.Request.TipoDespesaRequest item in requestList)
            {
                to.Add(ToTipoDespesa(item));
            }
			return to;
		}
    }
}